package com.whfc.ms.api.mach.service;

import com.whfc.mach.dto.AppMachGpsDTO;
import com.whfc.mach.dto.obd.*;

import java.util.Date;
import java.util.List;

/**
 * @author sun_guodong
 * @description
 * @date 2020-12-22
 */
public interface MsObdDataService {

    /**
     * 获取obd设备的运动轨迹
     *
     * @param machId
     * @param date
     * @return
     */
    AppMachGpsDTO gpsLog(Integer machId, Date date);

    /**
     * 获取obd设备的参数列表
     *
     * @param machId
     * @return
     */
    ObdParamDTO paramList(Integer machId);

    /**
     * 获取obd设备的参数
     *
     * @param machId
     * @return
     */
    ObdParamDTO param(Integer machId);

    /**
     * 获取obd设备的油耗数据
     *
     * @param machId
     * @param startDate
     * @param endDate
     * @return
     */
    ObdOilDataDTO oilData(Integer machId, Date startDate, Date endDate);

    /**
     * 获取obd设备一天的油耗数据
     *
     * @param machId
     * @param date
     * @return
     */
    ObdOilDataDTO oilData(Integer machId, Date date);

    /**
     * 获取obd设备的放线里程数据
     *
     * @param machId
     * @param startDate
     * @param endDate
     * @return
     */
    ObdMileDataDTO mileData(Integer machId, Date startDate, Date endDate);

    /**
     * 获取obd设备一天的放线里程数据
     *
     * @param machId
     * @param date
     * @return
     */
    ObdMileDataDTO mileData(Integer machId, Date date);

    /**
     * 设备obd信息
     *
     * @param machId
     * @return
     */
    ObdDataDTO getObdData(Integer machId);

    /**
     * 获取obd设备的一段时间牵张数据
     *
     * @param machId
     * @param startTime
     * @param endTime
     * @return
     */
    List<ObdQzDataDTO> qzData(Integer machId, Date startTime, Date endTime);
}
